1. Field of the Invention
Aspects of the present invention relates to the reproduction of multimedia data, and more particularly, to a storage medium storing multimedia data for the reproduction of audio-visual (AV) data and a programming function, and a reproducing apparatus and method thereof.
2. Description of the Related Art
FIG. 1 illustrates a typical architecture of multimedia data for the reproduction of AV data. Referring to FIG. 1, multimedia data for the reproduction of audio-visual (AV) data, such as a high quality movie, can be classified into four layers, including AV data 3 and 4, navigation data 2, and system data 1.
The system data 1 in the fourth layer includes startup information, which indicates information on a movie object to be initially played when a storage medium such as a disc is inserted in a reproducing apparatus, and an index table including information on a plurality of titles. The index table is defined in the highest layer along with a plurality of titles and a menu, and further includes beginning position information of the plurality of titles and beginning position information of the menu, as well as the startup information. When a new title is selected by a user's input, menu selection, or navigation command, the reproducing apparatus confirms the information on the plurality of titles included in the index table and reproduces AV data based on the information.
The navigation data 2 in the third layer comprises movie objects 20, each including navigation commands for the reproduction of AV data. Using the navigation commands included in a movie object 20, the reproduction of a playlist 3, which is described below, in a lower layer starts, the movie objects 20 are switched over, and the reproduction of the playlist 3 is managed in response to the user's preference.
The playlist 3 in the second layer defines reproduction units of AV data. The AV data is recorded on consecutive spaces of a storage medium in clip units which are described below. The playlist 3 indicates a reproducing unit in which a portion of a clip is reproduced or a plurality of clips are bound and reproduced at once. The playlist 3 includes a plurality of playitems, which are smaller reproducing units. A playitem indicates a reproduction duration of a portion of a clip or a plurality of clips. Using the playlist 3, a reproduction sequence can be set so that a plurality of playitems are sequentially reproduced or so that predetermined playitems of the plurality of playitems are selectively reproduced, by the user's selection or basic settings of the reproducing apparatus.
The clip 4 in the first layer defines a recording unit of AV data. The clip 4 includes a clip AV stream and a clip information file. The clip AV stream comprises audio/video, subtitles, and graphic data. The clip information file includes an attribute of the clip AV stream and an entry point map used for converting reproduction time information to byte address information.
FIG. 2 is a block diagram of a conventional reproducing apparatus for AV data reproduction. Referring to FIG. 2, the reproducing apparatus includes a reader for reading data from a storage medium, a buffer unit for temporarily storing the read data, a module manager for controlling a navigation engine to read system data and process an initial operation and a title change due to a user's selection or a navigation change, the navigation engine for controlling the reproduction of AV data based on the contents of navigation data, and a presentation engine for decoding the AV data and displaying the decoded video data on a screen. Even though not shown, the reproducing apparatus can further include a blender for overlaying the decoded video data and graphical data on one screen.
The operation of reproducing multimedia data from the storage medium described in FIG. 1 will now be described using the reproducing apparatus described with respect to FIG. 2.
When the storage medium is inserted in the reproducing apparatus, the module manager reads the index table corresponding to the system data 1 from the multimedia data recorded on the storage medium. The module manager confirms startup information from the index table and controls the navigation engine to execute a movie object 20 directed by the startup information.
The navigation engine reads the movie object 20, analyzes navigation commands stored in the movie object 20, and controls the presentation engine to reproduce AV data according to the navigation commands.
The presentation engine reads the playlist 3 and the clip files 4 corresponding to the navigation commands, and reproduces clip AV streams based on information included in each file. Here, if a new title is selected by a user's input, a menu, or a navigation commander and so on, the module manager controls the navigation engine to reproduce the selected title according to the procedures described above. Accordingly, high quality AV data can be reproduced by reading the multimedia data from the storage medium.
Recently, in addition to the simple reproduction of AV data, a demand for various additional services and user interactive functions has been increasing. However, a conventional AV data storage medium is only used for simply reproducing the AV data according to the will of its producer, and can not provide the user interactive functions and various additional functions such as downloading new content related to AV content and/or displaying information related to the AV content.
Accordingly, program applications written in C, Java, HTML, and/or scripting languages need to be provided along with AV data, to provide various interactive functions with a user and/or additional functions. Unlike the reproduction of AV data in the order determined by its producer, by executing these applications, the reproduction of the AV data can be achieved according to various scenarios based on interactions with a user. Thus, a storage medium should provide information for controlling applications to operate in the way desired by a contents producer, along with the program applications.
On the other hand, the program applications can be used for malicious intent against the will of the content producer. That is, the program applications may directly read AV data that the content producer intends to protect, and deliberately distribute the AV data through other media, e.g., the internet or removable storage media. Therefore, program applications must be able to prevent AV data that a producer intends to protect from being illegally distributed.